package com.object.utils;

import cn.hutool.core.io.FileUtil;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.lionsoul.ip2region.xdb.Searcher;

import java.io.IOException;
import java.util.Objects;
import java.util.concurrent.TimeUnit;

/**
 * @author Li Qing
 * date: 2024/10/26 19:30
 * description:
 */
@Slf4j
public class IpGetAddress {

    // 1、创建 searcher 对象
    private static final String dbPath = Objects.requireNonNull(IpGetAddress.class.getClassLoader().getResource("xdb/ip2region.xdb")).getFile();

    @SneakyThrows
    public static String getIpAddress(String ip) {
        Searcher searcher = null;
        searcher = Searcher.newWithFileOnly(dbPath);
        // 2、查询
        String region = searcher.search(ip);
        return region;
        // 备注：并发使用，每个线程需要创建一个独立的 searcher 对象单独使用。
    }

    public static void main(String[] args) {
        //  System.out.println(IpGetAddress.class.getClassLoader().);
        System.out.println(getIpAddress("114.114.114.114"));
    }
}
